/**
 * 
 */
package org.swing.utility.system.url;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;
import java.nio.file.Path;
import java.nio.file.Paths;

/**
 * @author lqnhu
 *
 */
public class PathURLStreamHandler extends URLStreamHandler {
	public static final URLStreamHandler INSTANCE = new PathURLStreamHandler();

	protected PathURLStreamHandler() {
	}

	@Override
	protected URLConnection openConnection(URL url) throws IOException {
		try {
			URI uri = url.toURI();
			Path path = Paths.get(uri);
			return new PathURLConnection(url, path);
		} catch (URISyntaxException e) {
			throw new IOException("invalid URL", e);
		}
	}
}
